package thread05;
/**
 * 多线程卖票:
 *  三个窗口去卖100张票
 *  A窗口  B窗口  C窗口
 *  100    98    95
 *  99     97    94
 *         96
 *  ..     ...   ..
 *  我们考虑用线程去模拟窗口,线程执行任务为卖票(输出语句)
 *
 *  卖票案例第一个问题:
 *    1.卖出0票和-1票
 *    2.卖出重复票
 */
/*
* 买票案例一个问题
* 1.卖出0票和-1票
* 2.卖出重复票
* */
public class ThreadDemo01 {
    public static void main(String[] args) {
        Ticket t = new Ticket();
        new Thread(t).start();// 创建一个线程，并启动 模拟窗口A
        new Thread(t).start(); // 模拟窗口B
        new Thread(t).start(); // 模拟窗口C
        // new了三个Thread 就是创建了3个线程
        // 而只有一个new Ticket类，堆内存中只有一个对象，三个线程传的同一个t
        // 所以三个线程共享ticket = 100，也就是三个窗口共享100张票
    }
}
